#ifndef PRODUCT_H
#define PRODUCT_H

#include <iostream>
#include <String>
#include <map>

using namespace std;

class Product{
public:
	Product(string id, string brand, int stock, int price); //constuctor
	string getID();
	map <int, string> virtual getHeader() = 0; //get header information
	map <int, int> virtual getHeaderLength() = 0; //get max. length of header
	map <int, string> virtual getAllData() = 0; //get data
	int getPrice();
	int getStock();
	void setStock(int amount);
	bool virtual isLarger(int compareFactor, Product *product2); //compare this object to anther product object by attribute specified by "compareFactor"

protected:
	string id;
	string brand;
	int stock;
	int price;
	string int2str(int &i); //convert int to string for map functions
};

#endif